package com.switz.agendacita.services;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

import com.switz.agendacita.dto.PersonalNoHorario;
import com.switz.agendacita.dto.PersonalServicio;
import com.switz.agendacita.persistence.iface.PersonalHorarioDao;
import com.switz.agendacita.persistence.iface.PersonalNoHorarioDao;
import com.switz.agendacita.persistence.iface.PersonalServicioDao;
import com.switz.agendacita.services.iface.PersonalService;

@Service
public class PersonalServiceImpl implements PersonalService {

	@Autowired
    @Qualifier("personalNoHorarioDaoImpl")
    private PersonalNoHorarioDao personalNoHorarioDao;
	@Autowired
    @Qualifier("personalHorarioDaoImpl")
    private PersonalHorarioDao personalHorarioDao;
        
        	@Autowired
    @Qualifier("personalServicioDaoImpl")
    private PersonalServicioDao personalServicioDao;
	
	public void agregarPeridoVacacional(PersonalNoHorario personalNoHorario) {
		 personalNoHorarioDao.insertPeriodoVacacional(personalNoHorario);
		
	}

	@Override
	public List obtenerDiasLaborales(String idPersonal) {		
		return personalHorarioDao.selectDiasLaborales(idPersonal);
	}
        

    @Override
    public void registrarNuevoServicioAlPersonal(List nuevosServiciosLis) {
        personalServicioDao.insertBatchPersonalServicio(nuevosServiciosLis);
    }

    @Override
    public List ListarServiciosPorPersonal(String idEmpresa,String idPersonal) {
       return personalServicioDao.getServicios(idEmpresa,idPersonal);
    
    }

    @Override
    public void borrarServiciosPorPersonal(String idPersonal, String idServicio) {
        personalServicioDao.deleteServiciosPorPersonal(idPersonal, idServicio);
    }

    @Override
	public void eliminarPeridoVacacional(PersonalNoHorario personalNoHorario) {
		personalNoHorarioDao.deletePeriodoVacacional(personalNoHorario);
		
	}
    
    public void agregarPeridoDescanzoEspecial(PersonalNoHorario personalNoHorario) {
		 personalNoHorarioDao.insertPeriodoDescanzo(personalNoHorario);
		
	}
    
    @Override
	public void eliminarDescanzoEspecial(PersonalNoHorario personalNoHorario) {
		personalNoHorarioDao.deletePeriodoDescanzo(personalNoHorario);
		
	}

}
